2024 The Best Worst Year
Published on Saturday, March 8th, 2025
My Darling Daughter
2024 started with paternity leave, and spending lots of time with my daughter and family. It was a wonderful time. There was more laughter than tears.
Technically my daughter Maeve was born in 2023, but she's really become her own person this year. Such a wonderful human. So full of smiles and giggles, they bring me life. She's hands down been the best thing that's happened to me.
Family in Norway
The whole family in America got to travel to Norway for 2 weeks, we met with all our extended family on my father's side and reconnected with folks I haven't seen in years. I learned a lot of transactional Norwegian.
We landed in Bergen and spent a week there! Our family surprised us at the airport with a big van to bring us to our lodging, I was so happy I almost cried after the long travel day. We really appreciate Sigbjorn driving us around. They brought us groceries and my great aunt even baked us a chocolate cake ❤️🎂
My cousin Margrette (though we call her aunt) loved our daughter Maeve, she was such a huge help while we were there.
We stayed nearby historic Bryggen (think colorful historic buildings on the water), which has a lot of fun food and shopping. We ate some traditional fair at Bryggeloftet
One of the most memorable was our visit to the village of Onarheim on the island of Tysnesøya to see the family farm and have a big reunion.
We took the scenic train ride across Norway to Oslo, which was absolutely wonderful! You should definitely take this train ride if you visit.
NDC Oslo 2024
While in Norway, I presented at the prestigious NDC Oslo! I gave my spicy talk about serverless tech "You Don't Want Serverless"
Serverless is a lose-lose. Don't use it. There's been a lot of over-hype around it and I'm here to tell you not to buy in.
I'll talk about the various shortcomings, mitigations, and solutions!
- Cloud provider business incentive misalignment
- Very poor developer experience
- Cold starts and performance problems
- Concurrency myths
- Cheap cost myths
- Finally when you should use serverless, spoiler alert there are very few use cases that make sense
At the end of this you'll know when and where to use serverless, and when to use "boring" technology to solve your problems.
NDC Oslo 2025
I'll be back in Norway in 2025 about how to make JavaScript Blazingly fast! lessons from a game engine.
Is your app slow? Don't blame JavaScript! It might be a problem between the chair and the keyboard...
I've spent over a decade building a game engine for the web called excalibur.js, I've learned a ton of tricks and techniques to make JavaScript run BLAZINGLY fast. These learnings are broadly applicable to more than just games, they've been very useful in my day to day work building massive web applications for EdTech.
You'll learn how to:
- Demystify the browser performance tools in Chrome & Firefox
- Optimize slow functions
- Identify and prevent memory leaks
- Cache expensive computations
- Prevent regressions
- And when to use WebWorkers, WASM, WebGPU, and TypedArrays
You'll walk away with practical JavaScript optimization techniques you can apply RIGHT NOW!
Death
In August my father passed away suddenly. It's been pretty hard. He was a great man, and a wonderful father. Great listener, full of laughter, and always quick with a joke.
He loved our daughter, and I'm glad she was able to meet him. Also he fed her a chocolate donut 🍩 when babysitting instead of the baby food I left him. They were two peas in a pod, that girly sure does love chocolate, always room for dessert.
I'm glad we were able to take him to Norway, he has wanted to visit again for years. The last time he was there he was 12 years old with his mother and father.
Navigating the world without him has been challenging for the entire family. So many things remind me of him, he brought a lot of smiles to all of us.
2D Con
Excalibur did its first convention at 2D Con in August in Bloomington Minnesota! And we won a gameplay award at the show!?
We presented 3 of our high fidelity sample games
Sweepstacks
Sweep across the screen to clear blocks! It's a match-3 like where you can also match diagonals.
This game was originally created for Ludum Dare 31 where it placed in the top 100. Coming soon to app stores near you!
Click on the image to play! (Warning addictive)
Sum Monsters
Play the mathimagical game where you arrange monsters to complete the dungeon’s sum-mons. May Trix the Witch is doing all she can to bring the dungeon to order!
It's like sudoku, except you're trying to sum the rows and columns to the desired number to clear the stage
Click on the image to play! (Warning addictive)
Jelly Jumper
High fidelity sample of a platforming game with jump physics inspired by Super Mario World!
This was created with painstaking effort by our new maintainer Matt Jennings.
Click on the image to play!
Distance Running
Not my best running year, I've definitely slowed down from my successful sub-4 hour marathon at Grandma's in 2023. My plan for this year is to keep it simple, work on the fundamentals and base build then race again in 2026. My new goal is to run sub 3:30, and eventually I'd like to qualify for the Boston marathon.
IGDATC (International Game Developers Association Twin Cities)
Pronounced "igg-daa-TC" by the locals 😁
I've recently become very active in the IGDATC, volunteering, speaking, and attending events.
I've made a lot of new very talented friends that have been wonderful, and they are willing to listen my nonsense about games in JavaScript/TypeScript. I'm especially fond of our late night Applebee's/Mac's game dev discussions.
Presented about building Excalibur.js, the Friendly Open Source Game Engine
Excalibur
Excalibur has had a BIG year!
- We've added 2 new official maintainers with commit access, Justin Young and Matt Jennings!
- We did our first con! (2D Con!)
- Started a Discord
- Saw Huge community growth
- Tons of cool stuff being built
- Tons of new features
- New plugins: Tiled Rewrite, LDtk, Spritefusion, Path Finding, JSFXR, and more!
- Large number of new contributors
- Check out my other posts about excalibur
Caliburn Games
Started a business to publish and make games in Excalibur.js
We're currently offering custom development projects, game dev consulting, and professional support!
Check us out if you're interested! Caliburn Games
Our plan for 2025 is to release 2 commercial games on various platforms AND offer Nintendo Switch Console publishing!!!
C Programming
One of my goals this year was to re-learn C. I definitely did classes in university but I don't really think I understood it that well.
One reason C appeals to me is that it's the original lingua franca of computers, if it can run in C it can run anywhere. Similarly JavaScript has become the new lingua franca, running everywhere with Electron, Capacitor.js, Tauri, etc. I'm attracted to the simplicity and portability of C.
One of the coolest things is that the Lua interpreter "lua.c" is a single iso C file meaning its super easy to include ANYWHERE because of the portability of C. Heck Balatro was written in Lua with Love2D! Really speaks to the power of C.
I picked up the book "Effective C" and can recommend . I've pre-ordered Modern C, 3rd Edition C23
I spent this year's Advent of Code learning modern C 23 and clang, you can observe my probably poorly written C here
Neovim & RSI
Another bummer is I've managed to develop a RSI (repetitive stress injury) this year in my hands! It really sucks! It's quite painful to pick things up wrong, or to lean incorrectly on my fingers.
I'm learning Neovim to hopefully help this, and it's definitely taken me a solid 2 months to get fast in it. I'm pretty fast now-a-days, this blog post was written in neovim!
I'm looking into ergonomic keyboards. I think concave key wells are probably my best bet. I've yet to purchase one, so if y'all have some affordable recommendations send them my way.
Optimism, Dreams, and Schemes
- Despite the disappointing and terrible events in 2024, I remain optimistic about the future. Even though life will be very different, and probably really hard for the next few years, we have good friends and family to get us through. I want to have a world my daughter can grow up in where she'll have the most opportunity possible.
- I'm excited about my business
- Planning on shipping a commercial game this year using Excalibur.js to Nintendo Switch! It's going to be something chill and cozy that everyone can enjoy.
- We have a conference coming up at VGM Con in April 2025!
Cheers,
Erik
Help support me on Github Sponsors or Patreon